package com.own.component.common.base.service.hook;

import com.own.base.BaseResponseCode;
import com.own.component.common.base.entity.po.BaseBean;
import com.own.component.common.base.entity.vo.BaseBeanVo;

/**
 * BaseGetHook
 *
 * @author chenxueli
 * @date 2022-06-15 03:14:15
 */
public interface BaseGetHook<
        PO extends BaseBean,
        VO extends BaseBeanVo<PO>
        > {

    /**
     * 根据id获取信息之后处理的信息
     *
     * @param vo vo对象
     * @return 处理的vo对象
     */
    default VO afterGetById(VO vo) {
        return vo;
    }

    /**
     * 根据id获取内容错误之后的消息提示（优先级大于全局）
     *
     * @return 消息内容
     */
    default BaseResponseCode errorGetByIdMessage() {
        return null;
    }

}
